//引入reqCategoryList用于发送ajax请求获取分类列表
import {reqCategoryList,reqBannerList,reqFloorsList} from '@/api'

const actions = {
	//获取分类列表的action
	async getCategoryList({commit}){
		//发送请求获取分类列表
		const result = await reqCategoryList()
		//根据后端的code判断业务逻辑是否成功
		if(result.code === 200){
			//若业务逻辑成功
			commit('SAVE_CATEGORY_LIST',result.data)
		}else{ 
			//若业务逻辑失败
			alert(result.message)
		}
	},
	//获取主页轮播图的action（模拟）
	async getBannerList({commit}){
		const result = await reqBannerList()
		if(result.code === 200){
			commit('SAVE_BANNER_LIST',result.data)
		}else{
			alert(result.message)
		}
	},
	//获取楼层数据
	async getFloorsList({commit}){
		const result = await reqFloorsList()
		if(result.code === 200){
			commit('SAVE_FLOORS_LIST',result.data)
		}else{
			alert(result.message)
		}
	}
}

const mutations = {
	//保存分类数据
	SAVE_CATEGORY_LIST(state,list){
		//将分类数据存入state中，无论后端返回的是多少条数据，我们只要前15条！
		state.categoryList = list.slice(0,15)
	},
	//保存轮播图数据
	SAVE_BANNER_LIST(state,list){
		state.bannerList = list
		// console.log('轮播数据存进来了')
	},
	//保存楼层数据
	SAVE_FLOORS_LIST(state,list){
		state.floorsList = list
	}
}

const state = {
	categoryList:[], //三级分类列表
	bannerList:[], //轮播图数据
	floorsList:[] //楼层数据
}
const getters = {}

export default {
	namespaced:true,
	actions,
	mutations,
	state,
	getters
}